'\" t
.TH cm2_rollback 1 "25 September 2006" "Code Manager II"

.SH NAME
cm2 rollback \- Check in file revisions

.SH SYNOPSIS
cm2 rollback  \fB--tag\fP \fIT\fP [\fB--project\fP \fIP\fP] [\fB--verbose\fP] [\fB--force\fP]
             [\fB--force-write\fP] 

.SH DESCRIPTION
The \fIcm2 rollback(1)\fP utility has been designed to allow a series of changes
to a development project to be removed. It requires a mandatory \fB--tag\fP 
argument and any changes following that tag to files that existed at the time
of the tag are removed. Also any newer tags are also removed.

This is not completely identical to a directory restoration at the time
since:

.TP 4
.B *
It only affects files that existed in that tag - files that did not exist
at the time, or where removed after this tag are not affected.
.TP
.B *
If files were removed following the creation of the tag in question
they will be restored to the state they were at when the tag
was taken.
.RE

The utility works with either RCS or PV2-based repositories. It keeps a
complete archive of the working directory and the code repository prior
to making any changes to ensure a complete back-out is possible at
any point during processing if it fails to complete it's work.

The following command line arguments are supported:

.SH ARGUMENTS
.TP 8
.B --tag
Indicates the last tag to preserve. Anything older - whether tags or newer
code versions are removed [apart from files created after the tag 
specified was created].
.TP
.B --verbose
Show more information regarding the rollback process. This flag is 
recommended since the operation can take quite some time and it will also allow
the developer to confirm the action before actually performing any
changes.
.TP
.B --force
Rather than waiting for positive confirmation the rollback action is 
started as soon as possible.
.TP
.B --force-write
Forces the rollback of the version control repository even if the \fBPROTECTION\fP setting
is set to "force-write". If such a \fBPROTECTION\fP setting is present, but this argument is
not specified then the rollback will be aborted.
.TP
.B --project
Specifies the project to perform the rollback action on. If this is
not specified it defaults to the project for which the current
working directory is part of.

.SH EXIT CODES
The \fIcm2 rollback(1)\fP follows UNIX standard practise:

.TP 4
.B 0
All specified files and tags subsequent to the tag specified have been
rolled back to the correct versions.
.TP
.B >0
An error has occured - the rollback process has been aborted. The working
directory and the source code repository should be in an identical
state they were in prior to attempting the roll back.

.SH NOTES

.SS Temporary Disk Space
The utility requires a complete archive of the working directory of the project,
and also the code control repository. This archive is currently everything under the
source code root - it does not pick/choose directories to archive. This might be
considered a bug.

Further, although the file only exists for the duration of the rollback, it is not
currently possible to indicate where it should be written. At the moment it writes to
/tmp - again this might be considered a bug.

.SH AUTHOR
The \fBCode Manager II\fP tool set was written by Simon Edwards, Proprius Consulting Ltd, (\fBwww.proprius.co.uk\fP).

.SH SEE ALSO
.BR cm2_cmpreleases(1),
.BR cm2_listreleases(1),
.BR cm2_tagrelease(1),
.BR cm2_tagremove(1)

.SH AVAILABILITY
This utility was specifically written under the GNU GPL license and as required
by such software comes with \fIno warranty or guarantee of any kind\fP.

